package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 门票信息对象 app_ticket
 * 
 * @author ruoyi
 * @date 2024-10-29
 */
public class AppTicket extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 门票的唯一标识符 */
    private Long ticketId;

    /** 门票类型 */
    @Excel(name = "门票类型")
    private String ticketType;

    /** 门票价格 */
    @Excel(name = "门票价格")
    private BigDecimal ticketPrice;

    /** 门票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "门票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date ticketDate;

    /** 门票库存数量 */
    @Excel(name = "门票库存数量")
    private Long num;

    /** 已销售数量 */
    @Excel(name = "已销售数量")
    private Long soldNum;

    public void setTicketId(Long ticketId) 
    {
        this.ticketId = ticketId;
    }

    public Long getTicketId() 
    {
        return ticketId;
    }
    public void setTicketType(String ticketType) 
    {
        this.ticketType = ticketType;
    }

    public String getTicketType() 
    {
        return ticketType;
    }
    public void setTicketPrice(BigDecimal ticketPrice) 
    {
        this.ticketPrice = ticketPrice;
    }

    public BigDecimal getTicketPrice() 
    {
        return ticketPrice;
    }
    public void setTicketDate(Date ticketDate) 
    {
        this.ticketDate = ticketDate;
    }

    public Date getTicketDate() 
    {
        return ticketDate;
    }
    public void setNum(Long num) 
    {
        this.num = num;
    }

    public Long getNum() 
    {
        return num;
    }
    public void setSoldNum(Long soldNum) 
    {
        this.soldNum = soldNum;
    }

    public Long getSoldNum() 
    {
        return soldNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ticketId", getTicketId())
            .append("ticketType", getTicketType())
            .append("ticketPrice", getTicketPrice())
            .append("ticketDate", getTicketDate())
            .append("num", getNum())
            .append("soldNum", getSoldNum())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
